bitkeeper revision 1.22.1.11 (3e48f52fRxNrVg2Tsq7Qa1P9cXmCeA)
authorakw27@boulderdash.cl.cam.ac.uk <akw27@boulderdash.cl.cam.ac.uk>
Tue, 11 Feb 2003 13:05:51 +0000 (13:05 +0000)
committerakw27@boulderdash.cl.cam.ac.uk <akw27@boulderdash.cl.cam.ac.uk>
Tue, 11 Feb 2003 13:05:51 +0000 (13:05 +0000)
Merge with main repository.

1  2 
.rootkeys
xen-2.4.16/common/domain.c
xen-2.4.16/common/kernel.c
xen-2.4.16/common/memory.c
xen-2.4.16/include/asm-i386/pci.h
xen-2.4.16/include/xeno/mm.h

diff --cc .rootkeys
index 702b1b035c5e6b9c4db65a7406d1af4e6d4f6e07,2304c74597e8c0624892cf1855b2d3c9265b71b3..5ccc4be5befa934d53317a5ce95e3ef09e4992a7
+++ b/.rootkeys
  3ddb79bdDWFwINnKn29RlFDwGJhjYg xen-2.4.16/drivers/ide/ide-taskfile.c
  3ddb79bdkDY1bSOYkToP1Cc49VdBxg xen-2.4.16/drivers/ide/ide.c
  3ddb79bdPyAvT_WZTAFhaX0jp-yXSw xen-2.4.16/drivers/ide/ide_modes.h
 -3ddb79bfogeJNHTIepPjd8fy1TyoTw xen-2.4.16/drivers/net/3c509.c
  3ddb79bfMlOcWUwjtg6oMYhGySHDDw xen-2.4.16/drivers/net/3c59x.c
  3ddb79bfl_DWxZQFKiJ2BXrSedV4lg xen-2.4.16/drivers/net/8139cp.c
 -3ddb79bfLVGtyXNJS4NQg-lP21rndA xen-2.4.16/drivers/net/8139too.c
  3ddb79c0tWiE8xIFHszxipeVCGKTSA xen-2.4.16/drivers/net/Makefile
  3ddb79bfU-H1Hms4BuJEPPydjXUEaQ xen-2.4.16/drivers/net/Space.c
+ 3e4540ccS4bfbx9rLiLElP0F1OVwZA xen-2.4.16/drivers/net/e1000/LICENSE
+ 3e4540ccXG6af_6-u0IiKKvtdGHJyA xen-2.4.16/drivers/net/e1000/Makefile
+ 3e4540ccoY2eo4VIkbR4sCOj0bVzSA xen-2.4.16/drivers/net/e1000/e1000.h
+ 3e4540ccvUz0j2ejQ9Z9djEGc93wRA xen-2.4.16/drivers/net/e1000/e1000_ethtool.c
+ 3e4540ccjqsc94nU3C4w3ZJaxFZFjA xen-2.4.16/drivers/net/e1000/e1000_hw.c
+ 3e4540cczrrQVyyj-s1-viyX1kMUlA xen-2.4.16/drivers/net/e1000/e1000_hw.h
+ 3e4540ccvQ9Dtoh9tV-L3ULUwN9X7g xen-2.4.16/drivers/net/e1000/e1000_main.c
+ 3e4540cc3t7_y-YLeyMG2pX9xtdXPA xen-2.4.16/drivers/net/e1000/e1000_osdep.h
+ 3e4540cct_8Ig-Y1W_vM2gS_u7mC0A xen-2.4.16/drivers/net/e1000/e1000_param.c
  3ddb79c0GejJrp1U6W4G6dYi-RiH4A xen-2.4.16/drivers/net/eepro100.c
+ 3e465c00t2nochqR27eEY_FBjxsUCw xen-2.4.16/drivers/net/ne/8390.c
+ 3e465c00AIRmk20x1vYETtnL71eGvA xen-2.4.16/drivers/net/ne/8390.h
+ 3e465c00UIvPTAtAcgcQWCVFa2bwww xen-2.4.16/drivers/net/ne/Makefile
+ 3e465c00rWSHiXmHuOWLRf7r2n8S3g xen-2.4.16/drivers/net/ne/ne.c
  3ddb79bfKvn9mt0kofpkw0QaWjxO6A xen-2.4.16/drivers/net/net_init.c
  3ddb79c0fQgORkFlqWZdP-6cDHyFIQ xen-2.4.16/drivers/net/pcnet32.c
  3ddb79bf_CBcu3QWYwq4bNAOnM2RqQ xen-2.4.16/drivers/net/setup.c
index 8e7f2587bb0e9ec190d9a5b46a83d4672fadc4ed,61323d764db5ba66a82843dee2935f8f480034d3..42446008326e62bdce80f716d4d37a1fea84a776
@@@ -351,19 -351,15 +352,18 @@@ asmlinkage void schedule(void
  unsigned int alloc_new_dom_mem(struct task_struct *p, unsigned int kbytes)
  {
      struct list_head *temp;
-     struct pfn_info *pf, *pf_head;
+     struct pfn_info *pf;
      unsigned int alloc_pfns;
      unsigned int req_pages;
 +    unsigned long flags;
  
      /* how many pages do we need to alloc? */
      req_pages = kbytes >> (PAGE_SHIFT - 10);
  
 +    spin_lock_irqsave(&free_list_lock, flags);
 +    
      /* is there enough mem to serve the request? */   
-     if(req_pages > free_pfns)
-         return -1;
+     if ( req_pages > free_pfns ) return -1;
      
      /* allocate pages and build a thread through frame_table */
      temp = free_list.next;
      {
          pf = list_entry(temp, struct pfn_info, list);
          pf->flags |= p->domain;
+         pf->type_count = pf->tot_count = 0;
          temp = temp->next;
          list_del(&pf->list);
-         list_add_tail(&pf->list, &pf_head->list);
-         pf->type_count = pf->tot_count = 0;
+         list_add_tail(&pf->list, &p->pg_head);
          free_pfns--;
      }
 +   
 +    spin_unlock_irqrestore(&free_list_lock, flags);
      
      p->tot_pages = req_pages;
  
Simple merge
index 71090776637bd25069bd9173d93d036710786966,8c75f08dbb12194d4bad9da0817854898e52a785..0c534ad3d11c32e345f4fc95ec1ca426ff13b6b6
@@@ -230,20 -227,18 +230,20 @@@ void __init init_frametable(unsigned lo
      frame_table = (frame_table_t *)FRAMETABLE_VIRT_START;
      memset(frame_table, 0, frame_table_size);
  
-     free_pfns = nr_pages - 
-         ((__pa(frame_table) + frame_table_size) >> PAGE_SHIFT);
+     free_pfns = 0;
  
      /* Put all domain-allocatable memory on a free list. */
 +    spin_lock_irqsave(&free_list_lock, flags);
      INIT_LIST_HEAD(&free_list);
      for( page_index = (__pa(frame_table) + frame_table_size) >> PAGE_SHIFT; 
-          page_index < nr_pages; 
+          page_index < nr_pages;
           page_index++ )      
      {
          pf = list_entry(&frame_table[page_index].list, struct pfn_info, list);
          list_add_tail(&pf->list, &free_list);
+         free_pfns++;
      }
 +    spin_unlock_irqrestore(&free_list_lock, flags);
  }
  
  
Simple merge
Simple merge